RAG Benchmark:RAG 系统评估体系

RAG 系统的核心能力在于 检索质量 + 生成质量。因此评估 RAG 时不能只看最终回答,还必须拆分为多个阶段进行 Benchmark。

完整的 RAG Benchmark 通常分为三层:

  1. Embedding / Retrieval Benchmark(检索层)
  2. Rerank Benchmark(排序层)
  3. End-to-End RAG Benchmark(整体系统)

评估体系的核心目标:


一、RAG Benchmark 总体评估框架

RAG 评估通常拆分为三阶段:

flowchart LR

Q[Query] --> R[Retrieval]
R --> RR[Rerank]
RR --> LLM[Generation]

R --> M1[Retrieval Metrics]
RR --> M2[Rerank Metrics]
LLM --> M3[Answer Metrics]

对应三类指标:

层级 评估目标
Retrieval 是否召回正确文档
Rerank 是否正确排序
Generation 最终回答质量

二、Retrieval Benchmark(检索层)

检索阶段的目标:

是否能把正确的文档召回到候选集。

常见指标包括:

1 Recall@K

最常用指标。

定义:

Recall@K = 是否在 TopK 中召回正确文档

例如:

Query:

Python 如何创建虚拟环境?

真实答案在文档:

Doc42

如果:

Top5 = [Doc12, Doc42, Doc8, Doc99, Doc5]

则:

Recall@5 = 1

如果:

Top5 = [Doc12, Doc8, Doc99, Doc5, Doc7]

则:

Recall@5 = 0

企业 RAG 推荐目标:

指标 推荐值
Recall@5 > 0.75
Recall@10 > 0.85

2 Hit Rate

Hit Rate 与 Recall 类似,但通常统计 命中比例

HitRate@K = 命中query数量 / query总数

例如:

100 个 query

其中 82 个 query 在 Top5 命中正确文档:

HitRate@5 = 0.82

3 MRR(Mean Reciprocal Rank)

MRR 衡量 正确文档排名位置

公式:

MRR = average(1 / rank)

示例:

Query 正确文档排名
Q1 1
Q2 3
Q3 10

计算:

MRR = (1/1 + 1/3 + 1/10) / 3

MRR 越高表示:

正确文档越靠前。

企业级 RAG 推荐:

MRR > 0.6

4 NDCG(Normalized Discounted Cumulative Gain)

适用于:

多相关文档场景。

公式简化:

越相关的文档排在越前面 → 得分越高

常用:

NDCG@10

三、Rerank Benchmark(排序层)

Rerank 的目标:

在候选文档中找到最相关文档。

评估指标通常与 Retrieval 相同,但输入是:

Top50 → rerank → Top5

常见指标:

指标 含义
MRR 排序质量
NDCG 多相关文档排序
Precision@K TopK准确率

Precision@K

定义:

TopK 中相关文档比例

例如:

Top5 = 3 个相关文档

则:

Precision@5 = 0.6

四、End-to-End RAG Benchmark

最终评估的是:

系统回答质量。

评估方式分三类:

1 人工评估
2 LLM 评估
3 自动指标


五、人工评估(Human Evaluation)

最可靠方法。

评估维度:

维度 含义
Correctness 是否正确
Relevance 是否相关
Faithfulness 是否忠于文档
Completeness 是否完整

评分:

1-5分

示例:

Query Score
正确回答 5
部分正确 3
错误 1

缺点:


六、LLM-as-a-Judge

目前最流行的自动评估方法。

使用 LLM 作为评委:

输入:

Question
Ground Truth
Model Answer

Prompt 示例:

Evaluate whether the answer correctly answers the question.

Score from 1-5.

优点:

缺点:


七、自动指标(NLP Metrics)

适用于 有标准答案的数据集

常见指标:

1 Exact Match(EM)

是否完全一致:

Answer == GroundTruth

2 F1 Score

衡量词级别匹配:

precision / recall

3 ROUGE

常用于摘要任务。


4 BLEU

常用于机器翻译。


八、RAG Benchmark 数据集

RAG 评估需要 Query + GroundTruth 文档

常见公开数据集:

1 BEIR Benchmark

BEIR 是当前最常用的 检索 Benchmark

包含:

例如:

特点:


2 MTEB

MTEB 用于评估 Embedding 模型

评估任务包括:

目前几乎所有 embedding 模型都会在 MTEB 上测试。


3 Natural Questions

问答数据集:

适合 QA RAG 系统。


4 HotpotQA

特点:

多跳推理(multi-hop reasoning)

例如:

问题需要两个文档信息组合

九、企业级 RAG Benchmark 方法

企业通常没有公开数据集,因此需要 自建评估集

步骤:

1 构建 Query 集

例如:

100~500个问题

来源:


2 标注 Ground Truth

每个 Query 标注:

正确文档

例如:

Query:
如何重置密码?

GroundTruth:
Doc15
Doc23

3 构建评估 Pipeline

flowchart TD

QuerySet --> Retrieval
Retrieval --> Rerank
Rerank --> LLM

Retrieval --> RecallMetric
Rerank --> RankingMetric
LLM --> AnswerMetric

十、RAG Benchmark 自动化 Pipeline

推荐构建 自动评估系统

流程:

1 构建测试Query
2 自动检索
3 自动计算指标
4 自动生成报告

架构示例:

flowchart LR

Dataset --> EvalRunner
EvalRunner --> Retrieval
EvalRunner --> Rerank
EvalRunner --> LLM

Retrieval --> Metrics1
Rerank --> Metrics2
LLM --> Metrics3

Metrics1 --> Report
Metrics2 --> Report
Metrics3 --> Report

输出报告示例:

Embedding Model: BGE-large
Recall@5: 0.82
MRR: 0.67
NDCG@10: 0.71
Answer Accuracy: 0.78

十一、RAG Benchmark 常见结论

在真实系统中:

Embedding 模型影响

影响:

Recall

提升空间:

10% ~ 25%

Chunk 策略影响

错误切片会导致:

Recall下降30%

Rerank 提升

通常可以提升:

MRR +10% ~ 20%

向量 + BM25:

Recall 提升 5% ~ 15%

十二、RAG Benchmark 推荐目标

企业级系统推荐指标:

指标 推荐值
Recall@5 > 0.75
Recall@10 > 0.85
MRR > 0.6
NDCG@10 > 0.7
Answer Accuracy > 0.75

总结

RAG Benchmark 的核心思想是:

拆分评估,而不是只评估最终答案。

完整评估体系:

Embedding Benchmark
        ↓
Retrieval Benchmark
        ↓
Rerank Benchmark
        ↓
End-to-End QA Benchmark

最终目标是优化三个关键能力:

召回能力(Recall)
排序能力(Ranking)
回答能力(Answer Quality)